package cn.zhf.shop.utils;

import org.apache.poi.ss.formula.functions.T;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
/**
 * whw
 */
public class SQLCustomBuildTool {
    public static String BatchInsertBuild(T obj){
        return null;
    }


    /**
     * <choose>
     *           <when test="item.trandate !=null and item.trandate !=''">
     *             #{item.trandate,jdbcType=VARCHAR},
     *           </when>
     *           <otherwise>
     *             null ,
     *           </otherwise>
     *         </choose>weisha1
     * @param args
     * @throws ClassNotFoundException
     */

    public static void main(String[] args) throws ClassNotFoundException {
        Class c=Class.forName("cn.zhf.shop.entity.Audit");//把要使用的类加载到内存中,并且把有关这个类的所有信息都存放到对象c中
        Field f[]=c.getDeclaredFields();//把属性的信息提取出来，并且存放到field类的对象中，因为每个field的对象只能存放一个属性的信息所以要用数组去接收
        for(int i=0;i<f.length;i++)
        {
            //System.out.println("属性的名称是:"+f[i].getName());//获得属性的名字
            //System.out.println("属性的类型是:"+f[i].getType());//获得属性的类型
            System.out.println("<choose>");
            System.out.println("<when test=\"item."+f[i].getName()+"!=null and item."+f[i].getName()+" !=''\">");
           if(f[i].getType().toString().equals("class java.lang.Integer")){
               System.out.println(" #{item."+f[i].getName()+",jdbcType=INTEGER},");
             }
            else if(f[i].getType().toString().equals("class java.lang.String")){
               System.out.println(" #{item."+f[i].getName()+",jdbcType=VARCHAR},");

            }
            else if (f[i].getType().toString().equals("class java.math.BigDecimal")){
               System.out.println(" #{item."+f[i].getName()+",jdbcType=DECIMAL},");
           }
            System.out.println(" </when>\n" +
                    "               <otherwise>\n" +
                    "                  null ,\n" +
                    "                </otherwise>\n" +
                    "              </choose>");
        }

    }
}
